import sqlite3
from datetime import datetime
import time

# 注册 datetime 适配器和转换器
def adapt_datetime(dt):
    return time.mktime(dt.timetuple())

def convert_datetime(stamp):
    return datetime.fromtimestamp(float(stamp))

sqlite3.register_adapter(datetime, adapt_datetime)
sqlite3.register_converter("timestamp", convert_datetime)

def update_words_time():
    # 连接到 SQLite 数据库
    conn = sqlite3.connect('example.db')
    c = conn.cursor()

    # 给 words 表添加 add_time 和 last_test_time 列
    try:
        c.execute('ALTER TABLE words ADD COLUMN add_time DATETIME')
        c.execute('ALTER TABLE words ADD COLUMN last_test_time DATETIME')
    except sqlite3.OperationalError:
        print("列可能已经存在，跳过添加列操作")

    # 获取今天的日期
    today = datetime.now()

    # 更新 words 表中的 add_time 和 last_test_time
    c.execute('UPDATE words SET add_time = ?, last_test_time = NULL', (today,))

    # 提交更改并关闭连接
    conn.commit()
    conn.close()
    print("数据更新成功！")

if __name__ == "__main__":
    update_words_time()